docs/ikteam: Delete most files.
[haiku.git] / docs / apps / mail / Programming Notes / ChainRunner Overview.txt
blobed650f9f0ab633874ae9035ae0a4d619c210992f
1 NathanW wrote on June 30 2003:
3 Here's the overview:
5 ChainRunner:
6         It's now a BLooper and it goes like this: Running the chain 
7 triggers an 'INIT' message, which causes it to begin to load add-ons. 
8 The constructor of the producer add-on calls ChainRunner's 
9 GetMessages() routine with a list of unique ids to fetch. It then runs 
10 through the list, passing in those, then calls any registered process 
11 callbacks after the list is exhausted. Note that finishing the list *
12 does not* cause the connection to be terminated and the add-ons to be 
13 destructed. Single pass add-ons (e.g. POP and Outbox) register a 
14 process callback that calls ChainRunner::Stop().
16 MailProtocol/MailFilter:
17         No longer sets the unique id, because it's passed in. Calls 
18 GetMessages(), and uses ReportProgress() and ShowError() methods of 
19 ChainRunner instead of using the functions in status.h. Also sets SIZE 
20 attribute in out_headers that contains the final downloaded size of the 
21 message. Also now passed a ChainRunner instead of a StatusView.
23 That's about it, really.
24 -Nathan